//
//  XMGTopic.m
//  百思不得姐
//
//  Created by 杨庆 on 2017/1/8.
//  Copyright © 2017年 杨庆. All rights reserved.
//

#import "XMGTopic.h"
#import "NSDate+XMGExtension.h"
@implementation XMGTopic
{
	CGFloat _cellHeight;
	CGRect _pictureF;
}

+(NSDictionary*)mj_replacedKeyFromPropertyName{
	return @{
			 @"small_image":@"image0",
			  @"large_image":@"image1",
			  @"middle_image":@"image2"
			 };
}

-(NSString *)create_time{
	// 日期格式化类
	NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
	// 设置日期格式(y:年,M:月,d:日,H:时,m:分,s:秒)
	fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";
	// 帖子的创建时间
	NSDate *create = [fmt dateFromString:_create_time];
	
	if (create.isThisYear) { // 今年
		if (create.isToday) { // 今天
			NSDateComponents *cmps = [[NSDate date] deltaFrom:create];
			
			if (cmps.hour >= 1) { // 时间差距 >= 1小时
				return [NSString stringWithFormat:@"%zd小时前", cmps.hour];
			} else if (cmps.minute >= 1) { // 1小时 > 时间差距 >= 1分钟
				return [NSString stringWithFormat:@"%zd分钟前", cmps.minute];
			} else { // 1分钟 > 时间差距
				return @"刚刚";
			}
		} else if (create.isYesterday) { // 昨天
			fmt.dateFormat = @"昨天 HH:mm:ss";
			return [fmt stringFromDate:create];
		} else { // 其他
			fmt.dateFormat = @"MM-dd HH:mm:ss";
			return [fmt stringFromDate:create];
		}
	} else { // 非今年
		return _create_time;
	}

}



-(CGFloat)cellHeight{
	//没有值的时候才会进行算一次,有了值就直接返回之前算过的值就行
	if (!_cellHeight) {
		
		//文字的最大尺寸
		//(之前 cell 相对于view 的布局是左边20,右边20,所以这里减去40)
	
		CGSize maxSize=CGSizeMake([UIScreen mainScreen].bounds.size.width-4*XMGTopicCellMargin , MAXFLOAT);
		CGFloat textH = [self.text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:14]} context:nil].size.height;
		
		// cell 的高度(头部)
	    _cellHeight = XMGTopicCellTextY  + textH + XMGTopicCellMargin;

		//根据帖子的类型计算 cell 高度
		if (self.type==XMGTopicTypePicture) {
			// 图片实际显示宽度== 文字的宽度一样
			CGFloat pictureW= maxSize. width;
			// 图片显示高度 == 等比例显示
			CGFloat pictureH= pictureW * self.height/self.width;
			
			//显示出来的高度
			if (pictureH >=XMGTopicCellPictureMaxH) {
				pictureH = XMGTopicCellBreakH; // 图片过长
				self.bigPicture = YES; // 大图
			}
			
			// 根据宽度/ 高度 计算"图片的 frame"
			CGFloat pictureX = XMGTopicCellMargin;
			CGFloat pictureY = XMGTopicCellTextY + textH + XMGTopicCellMargin;
			_pictureF = CGRectMake(pictureX	, pictureY, pictureW, pictureH);
			
			// cell"显示"高度
			_cellHeight += pictureH + XMGTopicCellMargin;
		}
		_cellHeight += XMGTopicCellBottomBarH + textH + XMGTopicCellMargin ;
	}
	return _cellHeight;
}




@end
